.TH std::localtime 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::localtime \- std::localtime

.SH Synopsis
   Defined in header <ctime>
   std::tm* localtime( const std::time_t* time );

   Converts given time since epoch as std::time_t value into calendar time, expressed
   in local time.

.SH Parameters

   time - pointer to a std::time_t object to convert

.SH Return value

   Pointer to a static internal std::tm object on success, or null pointer otherwise.
   The structure may be shared between std::gmtime, std::localtime, and std::ctime, and
   may be overwritten on each invocation.

.SH Notes

   This function may not be thread-safe.

   POSIX requires that this function sets errno to EOVERFLOW if it fails because the
   argument is too large.

   POSIX specifies that the timezone information is determined by this function as if
   by calling tzset, which reads the environment variable TZ.

.SH Example


// Run this code

 #include <ctime>
 #include <iomanip>
 #include <iostream>
 #include <sstream>

 int main()
 {
     setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // POSIX-specific

     std::tm tm{}; // Zero initialise
     tm.tm_year = 2020 - 1900; // 2020
     tm.tm_mon = 2 - 1; // February
     tm.tm_mday = 15; // 15th
     tm.tm_hour = 10;
     tm.tm_min = 15;
     tm.tm_isdst = 0; // Not daylight saving
     std::time_t t = std::mktime(&tm);

     std::cout << "UTC:   " << std::put_time(std::gmtime(&t), "%c %Z") << '\\n';
     std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\\n';
 }

.SH Possible output:

 UTC:   Sat Feb 15 18:15:00 2020 GMT
 local: Sat Feb 15 10:15:00 2020 PST

.SH See also

               converts time since epoch to calendar time expressed as Universal
   gmtime      Coordinated Time
               \fI(function)\fP
   localtime
   localtime_r converts time since epoch to calendar time expressed as local time
   localtime_s \fI(function)\fP
   (C23)
   (C11)
   C documentation for
   localtime
